
const { ccclass, property } = cc._decorator;

@ccclass
export default class LayerManager extends cc.Component {

    @property({ type: cc.Node, tooltip: '场景层 如 战场、主城、副本战场之类的' })
    private sceneLayer: cc.Node = null
    @property({ type: cc.Node, tooltip: '主UI层 如 底部功能栏' })
    private mainLayer: cc.Node = null
    @property({ type: cc.Node, tooltip: '弹窗层 如 设置、背包、装备之类的' })
    private panelLayer: cc.Node = null
    @property({ type: cc.Node, tooltip: '特效层 如 闪烁、飘字之类的' })
    private effectLayer: cc.Node = null
    @property({ type: cc.Node, tooltip: '通讯遮罩层 和服务器通讯UI' })
    private maskLayer: cc.Node = null
    @property({ type: cc.Node, tooltip: '加载遮罩层 场景切换的时候加载资源UI' })
    private loadLayer: cc.Node = null


    /** 场景层 如 战场、主城、副本战场之类的 */
    public get SceneLayer(): cc.Node {
        return this.sceneLayer;
    }
    /** 主UI层 如 底部功能栏 */
    public get MainLayer(): cc.Node {
        return this.mainLayer;
    }
    /** 弹窗层 如 设置、背包、装备之类的 */
    public get PanelLayer(): cc.Node {
        return this.panelLayer;
    }
    /** 特效层 如 闪烁、飘字之类的 */
    public get EffectLayer(): cc.Node {
        return this.effectLayer;
    }
    /** 通讯遮罩层 和服务器通讯UI */
    public get MaskLayer(): cc.Node {
        return this.maskLayer;
    }
    /** 加载遮罩层 场景切换的时候加载资源UI */
    public get LoadLayer(): cc.Node {
        return this.loadLayer;
    }

    public static instance: LayerManager;

    protected start() {
        LayerManager.instance = this;
    }
}
